Field of the Invention
Embodiments of the present invention generally relate to coding unit partitioning in video coding.
Description of the Related Art
Video compression, i.e., video coding, is an essential enabler for digital video products as it enables the storage and transmission of digital video. In general, video compression techniques apply prediction, transformation, quantization, and entropy coding to sequential blocks of pixels in a video sequence to compress, i.e., encode, the video sequence. Video decompression techniques generally perform the inverse of these operations in reverse order to decompress, i.e., decode, a compressed video sequence.
The Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T WP3/16 and ISO/IEC JTC 1/SC 29/WG 11 is currently developing the next-generation video coding standard referred to as High Efficiency Video Coding (HEVC). HEVC is expected to provide around 50% improvement in coding efficiency over the current standard, H.264/AVC, as well as larger resolutions and higher frame rates. To address these requirements, HEVC utilizes larger block sizes than the current video coding standard, H.264/AVC. More specifically, in HEVC, a largest coding unit (LCU) is the base unit used for block-based coding. An LCU plays a similar role in coding as the 16×16 macroblock of H.264/AVC, but it may be larger, e.g., 32×32, 64×64, etc.
In HEVC, a picture is divided into non-overlapping LCUs. As used herein, the term “picture” may refer to a frame or a field of a frame. A frame is a complete image captured during a known time interval. To maximize coding efficiency, an LCU may be partitioned into coding units (CU) of different sizes using recursive quadtree partitioning. The quadtree is split according to various criteria until a leaf is reached, which is referred to as a coding unit (CU). The maximum hierarchical depth of the quadtree is determined by the size of the smallest CU (SCU) permitted. A CU is the root node of two trees, a prediction tree and a transform tree. A CU may be inter-predicted or intra-predicted.
A prediction tree specifies the position and size of prediction units (PU) for a coding unit. A prediction unit may not be larger than a coding unit and other size restrictions depend upon whether a CU is inter-predicted or intra-predicted. A transform tree specifies the position and size of transform units (TU) for a coding unit. A transform unit may not be larger than a coding unit and the size of a transform unit may be, for example, 4×4, 8×8, 16×16, 32×32, 4×16, 16×4, 8×32, and 32×8. The quadtree partitioning of an LCU into CUs and the sizes of the transforms units and prediction units for a CU are determined by a video encoder during prediction based on minimization of rate/distortion costs. The LCU size, the SCU size, and the partitioning signaled in the sequence parameter set (SPS) of an encoded bit stream.